5

1.数组API

(1) forEach 遍历所有元素

   var arr = [1,2,3]
   arr.forEach(function( item,index ){ //参数顺序规定 item , index
       console.log(index,item) //遍历数组所有元素
   })
   
(2) every 判断所有元素是否都符合条件

    var arr = [1,2,3]
    var result = arr.every(function( item,index ){ //注意参数顺序
        if( item < 4 ){ //用来判断所有的数组元素都满足一个条件
            return true;
        }
    })
    console.log(result) //true 都符合,否则false
    
(3) some 判断是否至少有一个元素符合条件

    var arr = [1,2,3]
    var result = arr.some(function( item,index ){ //注意参数顺序
        if( item < 2 ){ //用来判断所有的数组元素,只要有一个满足条件即可
            return true;
        }
    })
    console.log(result) //true 

(4) sort 排序
    var arr = [1,4,2,3,5]
    var arr2 = arr.sort(function (a, b){
        // return a - b //从小到大排序
        return b - a //从大到小排序
    })
    console.log(arr2) //[5,4,3,2,1]

(5) map 对元素重新组装,生成新数组
    var arr = [1,2]
    var arr2 = arr.map(function (item, index){ //注意参数顺序
        return '<b>'+ item + '</b>' //将数组元素重新封装并返回
    })
    console.log(arr2) //["<b>1</b>","<b>2</b>"]

(6)filter 过滤符合条件的元素
   var arr = [1,2,3]
   var arr2 = arr.filter(function (item, index){  
       if( item >= 2){     //通过某一个条件过滤数组 //注意参数顺序
           return  true
       }
   })
   console.log(arr2) //[2,3]

2.对象API

var obj = {a:10,b:20,c:30}
var key
for (key in obj){
    if(obj.hasOwnProperty(key)){
        console.log(key,obj[key])
    }
}

3.日期

(1) Date.now() //获取当前时间毫秒数

(2)var d = new Date() 
   dt.getTime() //获取当前时间毫秒数

4.Math

Math.random()常用于清除缓存(例:频繁访问一个链接会有缓存,链接后面加random,每次访问都会变,随时改变清除缓存)

相关问题:

(1) 获取 2018-05-18 格式的日期:
    function date(dt){
        if(!dt){
            dt = new Date() //获取当前时间戳
        }
        var year = dt.getFullYear()
        var month = dt.getMonth() + 1
        var date = dt.getDate()
        if(month < 10){
            month = '0' + month //强制类型转换
        }
        if(date < 10){
            date = '0' + date
        }
        return year + '-' + month + '-' + date
    }
    var d = new Date()
    var formatDate = date( d )

(2) 获取随机数,要求时长度一致的字符串格式:

    var random = Math.random()
    random = random + '0000000000' //后面加上10个0 (假如slice(0,4)也不会报错)
    random = random.slice(0,10) //slice相当于复制,复制出一个新数组,不改变原数组

(3)写一个能遍历对象和数组的通用forEach函数 
   function forEach(obj, fn ){
       var key
       if (obj instanceof Array){ //判断是不是数组
           obj.forEach(function(item, index){
               fn(index ,item )
           })
       }else {
           for(key in obj){
               if(obj.hasOwnProperty(key)){
                   fn(key,obj[key])
               }
           }
       }
   }

艿厝
18 声望3 粉丝